Based on geographical locations, what is the labor movement in the financial sector throughout the years from 2012 to 2021 and how does the hiring pattern of financial firms reflect their strategic development goals and the industry’s trend?
The financial sector is unquestionably one of the fastest growing industries in the past decade. Due to the industry’s global presence, it is especially meaningful to examine its development based on geographical regions over the years.
Additionally, the landscape of the financial industry has been rapidly evolving in recent years due to the advent of modern technology. In particular, technological advancement has shaped the employers’ hiring focus and led to demand for new job positions while some old ones were phased out. These factors exerted significant influence upon the industry’s labor force. The integration of finance with technology resulted in a rise in demand for a workforce specialized in this area.
Our group is interested in the general trend of labor movement in the financial industry as well as the pattern of tech-related jobs given the development in technology in the recent decade.
In order to develop a comprehensive answer to our enquiry, we first examined the general trend in labor, and then dived deep into the demographic movement within the financial industry by categorizing the dataset into different geographical regions. We also investigated the trend of tech-related jobs across different industries in order to form a more concrete evaluation about the trend specific to the financial sector. Finally, we further enriched our research with company-specific analysis.
We are aware that we generated our analysis from a dataset that contains a certain degree of biases due to the sampling. While we attempt to analyze the global financial industry with the set of data provided to us, it is important to note that the data only captures limited information about the industry, so the samples we have chosen to analyze are not fully representative of the subject we wish to examine. For instance, for the company level analysis, we selected the largest five financial companies on the data set to analyze, which will make our analysis fail to take the start-ups and SMEs into account. However, we still remain interested in analyzing these companies to have a glance on the strategic position of these Industry leaders.
The data provides information about the name of companies, their respective sectors, the timestamp of data, job categories, regions, gender, count, inflow and outflow.
Three numeric parameters are key to our analysis: the count, inflow, and outflow. This is because we want to analyze labor movement. Other important categorical parameters are company names, sector, job category, and regions. This is because we narrow our focus to tech-related jobs in the financial industry across geographical regions.
Our analysis focuses on company and industry level with two types of plots: Plotly Interactive Animation and Line Plots:
animated world map
subplot display of counts, inflow, outflow based on geographical region
subplot display of aggregated counts, inflow, outflow on yearly basis
subplot display of IT Related Employment Ratio across different sectors captured by the dataset
subplot display of IT Related Employment Ratio within the Financial Industry based on geographical region
subplot display of IT Related Employment Ratio within the Financial Industry on yearly basis
import pandas as pd
import csv
import matplotlib.pyplot as plt
import numpy as np
from datetime import datetime
%matplotlib inline
"""
Note: Since we packed some plot methods together in order to make the code more reusable, please click the white
"vertical" bar on the left of the cell to maximize the "cell page" in order to get a good visualization. Our graphic
results are represented in the form of graphic report. Please load everything before generating the reports.
"""
df = pd.read_csv("/Users/larrysun/Downloads/DB_MidtermSampleData_Mar21.csv")
fin = df.loc[df['sector']=='Financials'] #import data and select financial industry
fin["month"] = pd.to_datetime(fin["month"])
df["month"] = pd.to_datetime(df["month"])
"""
Get the aggregate data based on year
Set up the representtaion of each continent since we don't have country in the dataset
Note:we need the representation since it's needed in plotly package for drawing the bubble map
"""
"""
fin_agg is a DataFrame that contains 6 dimensions - year, region, count, inflow, outflow, represntation(proxy we use to
employ plotly function)
"""
fin["year"] = fin["month"].dt.year
df["year"] = df["month"].dt.year
fin_agg = fin.groupby(["year","region"],as_index=False).sum()
fin_agg["representation"] = fin_agg["region"]
fin_agg["representation"] = fin_agg["representation"].replace("Arab States","EGY")
fin_agg["representation"] = fin_agg["representation"].replace("Central America and the Caribbean","NIC")
fin_agg["representation"] = fin_agg["representation"].replace("Central and Western Asia","SAU")
fin_agg["representation"] = fin_agg["representation"].replace("Eastern Asia","CHN")
fin_agg["representation"] = fin_agg["representation"].replace("Eastern Europe","UKR")
fin_agg["representation"] = fin_agg["representation"].replace("Northern Africa","SDN")
fin_agg["representation"] = fin_agg["representation"].replace("Northern America","USA")
fin_agg["representation"] = fin_agg["representation"].replace("Northern Europe","DNK")
fin_agg["representation"] = fin_agg["representation"].replace("Pacific Islands","VUT")
fin_agg["representation"] = fin_agg["representation"].replace("South America","BRA")
fin_agg["representation"] = fin_agg["representation"].replace("South-Eastern Asia","IDN")
fin_agg["representation"] = fin_agg["representation"].replace("Southern Asia","IND")
fin_agg["representation"] = fin_agg["representation"].replace("Southern Europe","ESP")
fin_agg["representation"] = fin_agg["representation"].replace("Sub-Saharan Africa","DZA")
fin_agg["representation"] = fin_agg["representation"].replace("Western Europe","GBR")
#since counts are static, we take the average count of the year by summing the month and make it divided by 12
fin_agg["count"] = fin_agg["count"]/12
fin_agg["count"][144:160] = fin_agg["count"][144:160]*12 #multiply the count collected in 2021 by 12 since the dataset only contains 1month of data in 2021
"""
fin_agg_company is the DataFrame that contains 7 dimensions - year, region, company, count ,inflow, out flow
,and representation. We use it to conduct the company level analysis with our functions.
"""
fin_agg_company = fin.groupby(["year","region","company"],as_index=False).sum()
fin_agg_company["count"] = fin_agg_company["count"]/12
#since counts are static, we take the average count of the year by summing the month and make it divided by 12
fin_agg_company["representation"] = fin_agg_company["region"]
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Arab States","EGY")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Central America and the Caribbean","NIC")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Central and Western Asia","SAU")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Eastern Asia","CHN")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Eastern Europe","UKR")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Northern Africa","SDN")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Northern America","USA")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Northern Europe","DNK")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Pacific Islands","VUT")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("South America","BRA")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("South-Eastern Asia","IDN")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Southern Asia","IND")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Southern Europe","ESP")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Sub-Saharan Africa","DZA")
fin_agg_company["representation"] = fin_agg_company["representation"].replace("Western Europe","GBR")
#Adjustment for aggregate data collected in 2021 by using lambda function
fin_agg_company["count"][fin_agg_company["year"]==2021] = fin_agg_company["count"][fin_agg_company["year"]==2021].map(lambda x:x*12)
#Creat company's aggrregate data by eliminating the dimension of region
"""
We created fin_agg_company_noregion based on fin_agg_company by eliminating the region dimensions in order to
conduct the aggregate data analysis on company's level
"""
fin_agg_company_noregion = fin_agg_company.groupby(["company","year"], as_index = False).sum().sort_values(by=["count"],ascending=False)
"""
Location list is a list that we create that contains the all locations in our region attribute.
"""
location_list = [i for i in fin_agg["region"].unique()][:-1]
"""
Sector list is a list that we create that contains the all sectors in our region attribute.
"""
sector_list = [i for i in df["sector"].unique()]
"""
We define functions to help us generalize our code and make graphing more handy. The function is designed for a certian
DataFrame.
The use of function will be shown later in the graphing section.
"""
##Define the Function for drawing plots based on region
def line_Plot(fin_agg,location,Category,ax):
if type(Category) == str:
df = fin_agg[fin_agg['region'] == location]
df.set_index(df['year']).plot('year',Category,ax=ax,lw=3,figsize=(14,18),title=location)
ax.set_title(location+" "+str(Category),size=15,loc='center',y=1.1)
ax.set_xlabel('Year',size=12)
ax.set_ylabel(str(Category))
ax.yaxis.grid(True)
else:
df = fin_agg[fin_agg['region'] == location]
df.set_index(df['year']).plot('year',Category,ax=ax,lw=3,figsize=(14,18),title=location)
ax.set_title(location+" "+"IN/OUT Flows",size=15,loc='center',y=1.1)
ax.set_xlabel('Year',size=12)
ax.set_ylabel("Flows")
ax.yaxis.grid(True)
def CompanyLevelAnalysis (CompanyName):
"""
CompanyLevelAnalysis is a function that is able to generate 3 plotly interative animation plots showing count/out
and inflow against the year. It also draws line plots about regeional data and aggreagte data against the year.
Note:The input of the function should be company names(String Type) of which the company should be in the financial sector of
the dataset. We did't generlize this method to the other sectors since our project was focusing on analyzing the
financial sector. However, it's not hard to replicate the function that is univeral for all companies in the data
set.
"""
#just ignore the JPM, it doesn't mean anything(I use JPM as an example before I abstrated it out)
fin_agg_JPM = fin_agg_company[fin_agg_company["company"]==CompanyName]
fin_agg_JPM_noregion = fin_agg_company_noregion[fin_agg_company_noregion["company"]==CompanyName]
fin_agg_JPM_noregion = fin_agg_JPM_noregion.sort_values(by=["year"],ascending= False).set_index(fin_agg_JPM_noregion["year"])
fig = px.scatter_geo(fin_agg_JPM, locations="representation",
size="count",
animation_frame="year",
projection="natural earth",
title="Employee Counts"+" of "+CompanyName+" Based on Region")
fig.show()
fig = px.scatter_geo(fin_agg_JPM, locations="representation",
size="inflow",
animation_frame="year",
projection="natural earth",
title="Employee Inflows"+" of "+CompanyName+" Based on Region")
fig.show()
fig = px.scatter_geo(fin_agg_JPM, locations="representation",
size="outflow",
animation_frame="year",
projection="natural earth",
title="Employee Outflows"+" of "+CompanyName+" Based on Region")
fig.show()
#Count of (Company)
fig,axes = plt.subplots(nrows=5,ncols=3)
fig.suptitle('Graphs of Count Based On Region',fontsize=20,y=1.05)
plt.tight_layout(pad=-0.5)
i=0
for ax in axes.reshape(-1):
location = location_list[i]
i = i+1
line_Plot(fin_agg_JPM,location,"count",ax)
#IN/OUT Flows of (Company)
fig,axes = plt.subplots(nrows=5,ncols=3)
fig.suptitle('Graphs of Inflow/Outflow Based On Region',fontsize=20,y=1.05)
plt.tight_layout(pad=-0.5)
i=0
for ax in axes.reshape(-1):
location = location_list[i]
i = i+1
line_Plot(fin_agg_JPM,location,["inflow","outflow"],ax)
##Aggregated IN/OUT Flows of (Company)
fig, axs = plt.subplots(2)
fig.suptitle('Graphs of Aggregated Inflow,Outflow, and Count',fontsize=18,y=0.92)
fin_agg_JPM_noregion.plot("year","count",ax=axs[0],lw=3,figsize=(14,18),title="Aggregated Counts of "+CompanyName)
fin_agg_JPM_noregion.plot("year",["inflow","outflow"],ax=axs[1],lw=3,figsize=(14,18),title="Aggregated IN/OUT Flows of "+CompanyName)
axs[0].set_xlabel('Year',size=12)
axs[0].set_ylabel("Counts")
axs[0].yaxis.grid(True)
axs[1].set_xlabel('Year',size=12)
axs[1].set_ylabel("Flows")
axs[1].yaxis.grid(True)
def Industry_Tech_Aggregate_Percent(sector,ax):
"""
This function takes two arguments - sector and ax. Sector can be any sector in the dataset; However, we should be
careful before we input the ax. The function saves our life since we can use it with forloop to draw graphs about
multiple sectors.
Reminder: Please create fig,ax before you use this function.
"""
finjob = df.groupby(["year","sector","job_category"],as_index=False).sum()
finjob_sec = finjob[finjob["sector"]==sector]
tech_related_jobs = ['technician','scientist','engineer']
fintech_sec = finjob_sec.loc[finjob_sec['job_category'].isin(tech_related_jobs)]
fin_all_sum = fintech_sec.groupby(['year'],as_index=False).sum()
fintech_sum = finjob_sec.groupby(['year'],as_index=False).sum()
combined_df = fin_all_sum.merge(fintech_sum, left_on=['year'], right_on=['year'])
combined_df["TechEmpo%"] = combined_df["count_x"]*100/combined_df["count_y"]
combined_df.set_index(combined_df['year']).plot('year',"TechEmpo%",ax=ax,lw=3,figsize=(14,18))
ax.set_title("Graphs of Tech Related Employees % of "+sector,size=15,loc='center',y=1.1)
ax.set_xlabel('Year',size=12)
ax.set_ylabel("TechEmpo%")
ax.yaxis.grid(True)
def Company_Tech_Aggregate_Percent(CompName):
"""
Put the exact name of financial company as a string, the function will generate a line plot showing the percentage of
tech-related employments against time.
Note:it won't work for companies in non-financial sectors. However, you can make it work for all companies if you
alter the data wrangling section for DataFrame named fin. fin doesn't conatian companies other than these in financial
sector for the sake of efficiency.
"""
finjob = fin.groupby(["year",'company',"job_category"],as_index=False).sum()
finjob_com = finjob[finjob["company"]==CompName]
tech_related_jobs = ['technician','scientist','engineer']
fintech_com = finjob_com.loc[finjob_com['job_category'].isin(tech_related_jobs)]
fin_all_sum = fintech_com.groupby(['year'],as_index=False).sum()
fintech_sum = finjob_com.groupby(['year'],as_index=False).sum()
combined_df = fin_all_sum.merge(fintech_sum, left_on=['year'], right_on=['year'])
combined_df["TechEmpo%"] = combined_df["count_x"]*100/combined_df["count_y"]
combined_df
fig,ax = plt.subplots(1)
combined_df.plot('year',["TechEmpo%"],ax=ax,lw=3,figsize=(18,12))
ax.set_title("Aggregate Percentage of Tech-Related Employment of "+CompName+" Against Year",size=22,loc='center',y=1)
ax.set_xlabel('Year',size=18)
ax.set_ylabel("Aggregate Percentage of Tech-Related Employees",size=18)
ax.yaxis.grid(True)
def Company_Tech_Regional_Percent(CompName):
"""
Put the exact name of financial company as a string, the function will generate a line plot showing the percentage of
tech-related employments against time based on region.
Note:it won't work for companies in non-financial sectors. However, you can make it work for all companies if you
alter the data wrangling section for DataFrame named fin. fin doesn't conatian companies other than these in financial
sector for the sake of efficiency.
"""
finjob = fin.groupby(["year",'company',"job_category","region"],as_index=False).sum()
finjob_com = finjob[finjob["company"]==CompName]
tech_related_jobs = ['technician','scientist','engineer']
fintech_com = finjob_com.loc[finjob_com['job_category'].isin(tech_related_jobs)]
fin_all_sum = fintech_com.groupby(['year','region'],as_index=False).sum()
fintech_sum = finjob_com.groupby(['year','region'],as_index=False).sum()
combined_df = fin_all_sum.merge(fintech_sum, left_on=['year','region'], right_on=['year','region'])
combined_df["TechEmpo%"] = combined_df["count_x"]*100/combined_df["count_y"]
combined_df
fig,axes = plt.subplots(nrows=5,ncols=3)
fig.suptitle("Graphs of Tech Related Employees % of "+CompName+ " Based On Region",fontsize=20,y=1)
plt.tight_layout(pad=0.6)
i=0
for ax in axes.reshape(-1):
location = location_list[i]
i = i+1
line_Plot(combined_df,location,"TechEmpo%",ax)
To begin with, the data of the financial sector is further grouped by regions and years. We replaced the original region name with representative countries since plotly only takes countries as inputs for coordination. We use plotly interactive animation to show the change of inflow, outflow, and total count of the employees in the financial sector based on region over 10 years (from 2012 to 2021). We believe these plotly animations would help us better visualize a potential trend happening in the financial sector in all regions over a decade.
The inflow, outflow and total count animation based on regions shows there is an evident trend that financial employees in Asia and other developing areas have been increasing, especially in Southern Asia, also accompanied by an overall micro growth in developed areas such as North America and European continent. The global increase of financial employees indicates a growth in the financial industry where developed countries contributed most in these ten years. This change is confirmed by our expectation that developing regions have enjoyed a relatively greater growth in economy in comparison to the developed regions. Globalization of the financial industry also implies a stronger and more inclusive financial order established. It should be noted that the data in 2021 are incomplete; by the time we processed it, it was still in progress. Mapping Relationship:
"Arab States" -> "EGY"
"Central America and the Caribbean" -> "NIC"
"Central and Western Asia" -> "SAU"
"Eastern Asia" -> "CHN"
"Eastern Europe" -> "UKR"
"Northern Africa" -> "SDN"
"Northern America" -> "USA"
"Northern Europe" -> "DNK"
"Pacific Islands" -> "VUT"
"South America" -> "BRA"
"South-Eastern Asia" -> "IDN"
"Southern Asia" -> "IND"
"Southern Europe" -> "ESP"
"Sub-Saharan Africa" -> "DZA"
"Western Europe" -> "GBR"
import plotly.express as px
fig = px.scatter_geo(fin_agg, locations="representation",
size="inflow",
animation_frame="year",
projection="natural earth",
title="Employee Inflows of Financial Sector Based on Region and Year")
fig.show()
import plotly.express as px
fig = px.scatter_geo(fin_agg, locations="representation",
size="count",
animation_frame="year",
projection="natural earth",
title="Employee Count of Financial Sector Based on Region")
fig.show()
import plotly.express as px
fig = px.scatter_geo(fin_agg, locations="representation",
size="outflow",
animation_frame="year",
projection="natural earth",
title="Employee Outflows of Financial Sector Based on Region")
fig.show()
Looking at the aggregated size of the financial firms in various locations is a good starting point for analyzing labor movement of the industry.
We observe a relatively steady labor count in regions such as Central America and the Caribbean, Northern Africa, Pacific Islands, and Northern America. This is consistent with our expectation, since these regions generally exhibit minimal and steady economic growth. On the other hand, there are significant increases in regions including Eastern Asia, Eastern Europe, and Southern Asia. These regions are considered relatively less developed in the world. Consequently, they experienced the most growth in size throughout the past ten years as financial companies expanded their operations in these regions. There is a moderate decline in counts for Arab States and South America. We suspect that this shrink in size is the result of external factors such as US sanction and local turmoil.
NOTE:
The universal drastic decline in FLOWS is probably due to incomplete data collection for the year 2021, so this abnormality should be ignored.
Counts in 2021 only represnts the count in Jan of 2021, whereas counts before 2021 represent the average count of the year.
#Draw the line plots of total industry count based on region
fig,axes = plt.subplots(nrows=5,ncols=3)
fig.suptitle('Graphs of Count Based On Region (Financial Industry)',fontsize=20,y=1)
plt.tight_layout(pad=0.6)
i=0
for ax in axes.reshape(-1):
location = location_list[i]
i = i+1
line_Plot(fin_agg,location,"count",ax)
#draw the line plot of total industry flows based on region
fig,axes = plt.subplots(nrows=5,ncols=3)
fig.suptitle('Graphs of Inflow/Outflow Based On Region (Financial Industry)',fontsize=20,y=1.05)
plt.tight_layout(pad=-0.5)
i=0
for ax in axes.reshape(-1):
location = location_list[i]
i = i+1
line_Plot(fin_agg,location,["inflow","outflow"],ax)
After examining the labor movement in financial sectors based on regions, we would like to explore the role of technology played in the financial sectors. The integration of digital technologies such as computer science into all areas of business improves the efficiency of all industries, not only digitalizing the industry but also shaping industries’ hiring focus. Carrying with this perspective, we expect there should be an obvious increase in the percentage of tech related jobs over all jobs in the industry.
We start from a macro perspective, firstly examining the IT related employment ratio in all industries. From the charts, we can see that from health care to the industrial sector, there exist positive trend lines in all charts, applying an increase in IT related employment ratio in all industries. The communication sector is the industry with the most increase in ratio, and the change in ratio in the financial industry is also apparent, showing a steady progress of technology transformation in industries.
fig,axes = plt.subplots(7)
fig.suptitle("Graphs of Tech Related Employees % Based On Sector",fontsize=22,y=1.05)
plt.tight_layout(pad=-0.5)
i=0
for ax in axes.reshape(-1):
sector = sector_list[i]
i = i+1
Industry_Tech_Aggregate_Percent(sector,ax)
After our expectation of tech involvement in industry hiring focus is confirmed by the consistency in the chart, we want to limit our scope specifically in the financial industry, or some well-known and representative companies in the financial industry. The companies we will examine later are JPM, Wells Fargo & Company,Bank of American Corporation, Citigroup Inc and HSBC Holding PLC.
def Company_HR_Report(ComName:str):
"""
This function takes the name of a company that is in financial sector
and generate report on its tech-employment ratio and employment summary across
different years.
"""
CompanyLevelAnalysis(ComName)
Company_Tech_Regional_Percent(ComName)
Company_Tech_Aggregate_Percent(ComName)
On Labor Movement:
Through the visualization of data, it is clear that JP Morgan Chases has been expanding in the past decade globally. In particular, we witness a sizable increase in size for JP Morgan Chase’s Asia, Central and South America, and Eastern Europe branches.
This is consistent with the financial industry’s overall trend as well as our expectation. It is also in accordance with the company’s plans for strategic development announced on its website (1). It is noteworthy that JPM has also expanded in North America. This could be attributed to the bank’s 2018 announcement to open 400 branches in the U.S. (2).
Reference:
(1) https://www.jpmorgan.com/commercial-banking/insights/expansion-to-serve-companies-headquartered-europe-asia-pacific
(2) https://www.fool.com/investing/2020/10/01/jpmorgan/
On IT Related Employment Ratio:
In general, we observe an upward trend in the percentage of tech-related employment at JP Morgan Chase in the year 2012 -2021. Again, this is consistent with the overall trend of the industry as well as our anticipated outcome.
Company_HR_Report("JPMorgan Chase")
On Labor Movement:
Wells Fargo has evidently also been under expansion according to the data. Its count has been steadily increasing, and it maintains a greater inflow rate than outflow. Different from JP Morgan’s global footprint, Wells Fargo’s operation primarily proliferated in North America. However, based on the regional count graphs, there is a notable rise in scale in formerly less dynamic locations such as the entire Asia continent and Northern Europe. In general, we expect to see a continual growth in count given the current CEO’s interest in growing the bank, in particular its investment banking division.
Reference:https://www.bloomberg.com/news/articles/2021-01-04/wells-fargo-to-expand-investment-bank-in-scharf-s-strategy-shift
On IT Related Employment Ratio:
Similarly, Wells Fargo also increased its percentage of tech-related jobs in the recent decade. This behavior corresponds with the general trend of the industry and confirms our initial expectation.
Company_HR_Report("Wells Fargo & Company")
On Labor Movement:
Bank of America has expanded its business outside the U.S over the last decade, but in comparison to JPM, its expansion is not sizable enough. Most of the regions haven’t undergone a big change except for Central America and the Caribbean, where the number of employees of Bank of America have fallen off a cliff.
On IT Related Employment Ratio:
For Bank of America, there’s a slight increase in the percentage of tech-related jobs. Most of the regions are consistent with the general trend, but some such as Eastern Asia and Pacific Islands present opposite patterns. We believe this abnormality may be explained by the reduction of the count in these areas, as the outflow of overall financial jobs is greater than the inflow.
Company_HR_Report("Bank of America Corporation")
On Labor Movement:
On the plotly animation, Citigroup exhibits a moderate increase in size throughout the past decade. This is confirmed by the line plot showing the aggregated count. For the line plot, there is seemingly drastic up and down movement, but taking into account the fact that the scale is in hundreds of thousands, the total number actually only fluctuates in a small and acceptable range. Taking a closer look into the regional plots, we observe a drastic increase in count for the Eastern Asia region in around 2012. We suspect that this is due to Citi’s expanded operations in China (1). On the other hand, the decline in counts for the Central America and the Caribbean region could be explained by the firm’s effort to downsize consumer banking in the relevant markets (2).
Eeference:
(1) https://money.cnn.com/2012/02/06/markets/citi_china_credit_cards/index.htm?iid=EL
(2) https://www.zippia.com/citi-careers-2493/history/)
On IT Related Employment Ratio:
It is surprising to find that Citigroup exhibits an unusual pattern in the percentage of tech-related jobs. In the chart (Aggregate percentage of tech_lated Employment), we can observe that although the overall trend is upward, there is a spike in between 2014 and 2016, followed by a fall in 2016. The chart of movement of employees of Citigroup also tallies with this fall. By doing a quick research, we found that Citigroup experienced a serious cut off in 2016 due to a strategic business withdrawal to hedge against increasing cost. However, the tech percentage in Eastern Europe has kept going up, without being interfered by the laid off.
Company_HR_Report("Citigroup Inc")
On Labor Movement: Overall, HSBC exhibits an increase in size according to the plotly animation. This corresponds to the pattern shown by the aggregated line plots. For most of the years, we observe inflow to be greater than outflow, indicating positive growth of the company. HSBC’s increased presence in the African continent, as shown through the animation, is proved by the regional line plots. We attribute the regional decline in the Arab States during the year 2015-2017 to failing oil prices as well as geopolitical uncertainties including regional turmoils and U.S. sanction.
Reference:
(1)https://www.hsbc.com/-/files/hsbc/investors/hsbc-results/2015/annual/hsbc-holdings-plc/160310-hsbc-holdings-plc-strategic-report-2015.pdf?download=1
On IT Related Employment Ratio:
As the largest bank in Europe, HSBC shared the highest internationality among the five representative banks we chose. With the idea of different strategies applied to different regions, HSBC doesn’t have a universal strategy for technological transformation. Then, it is not surprising to find that not all regions are experiencing an increase in the percentage of tech-related jobs: some regions such as Northern Africa and South America are actually undergoing a decrease in the percentage. From the final aggregate line, we can observe that there is a shrink in 2018, and based on the news of HSBC in 2018, HSBC was in the era of scandals, facing a series of astronomical fines for the economic crime committed.
Company_HR_Report("HSBC Holdings PLC")
Based on our sampling results, despite some inconsistencies with identifiable causes, the total count of the financial companies exhibit notable growth throughout the past ten years in general. There is a universal decline in operational scale in regions under geopolitical tensions and scaling up in formerly less penetrated regions around the globe. Although the industry has grown significantly in regions such as the Asia and Africa continent, our initial hypothesis of labor movement (such as outsourcing from North America to other regions) cannot be confirmed by the data analysis, as the count for the companies in North America show no clear signs of major contraction.
The financial firms’ constantly rising demand for a labor force specialized in technology is evident over the years. This reveals the focus of their strategic development plans, which is to be more technology-driven and digitally innovative in the modern era.
Note on Covid-19:
The general trend of rising percentage of tech related labor force in the financial sector hasn't been severely affected by the Covid-19; in fact, we believe that the instruction of “remote work from home” further emphasizing the significance of those who are in tech related jobs, because their tasks won’t be influenced too much by distances thanks to the established highly digital network in the industry.
Copy Any of These and Paste Into the Function to Generate the Report:
"Wells Fargo & Company"
"JPMorgan Chase"
"Aon PLC"
"Citigroup Inc"
"Barclays PLC"
"HSBC Holdings PLC"
"Morgan Stanley"
"Banco Santander SA"
"Bank of America Corporation"
#Company_HR_Report("")